const multer = require('multer');
const fs = require('fs');

// 动态配置存储路径和文件名
const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    const tempPath = 'static/temp';
    if (!fs.existsSync(tempPath)) {
      fs.mkdirSync(tempPath, { recursive: true });
    }
    cb(null, tempPath);
  },
  filename: (req, file, cb) => {
    // 原名称 file.originalname
    // 保留中文
    const safeFileName = Buffer.from(file.originalname, 'latin1').toString('utf8'); // 处理非ASCII字符
    // 替换为空白
    // const safeFileName = file.originalname.replace(/[^a-zA-Z0-9.]/g, '');
    cb(null, `${Date.now()}-${safeFileName}`);
  },
});

// 创建 multer 实例，使用自定义的 storage
const upload = multer({ storage: storage });

// 导出 upload 中间件，供其他模块使用
module.exports = { upload };
